The present disclosure relates to integration of multiple applications into a workflow. In specific aspects, it relates to methods and applications for integrating multiple applications into a single workflow.
It is increasingly desirable in commercial operations to arrange workflows to run automatically, so that human input can be focused appropriately. In commercial operations which operate largely through information technology, it is normal to use many different software applications for different purposes. This creates a difficulty in the creation of an overall workflow, and often results in practice in significant human involvement in taking the output from one software application and using it to prepare an input for another software application.
One approach to automation of a workflow is to use enterprise resource planning (ERP) software (such as SAP ERP) that is adapted to provide the functions of the specific software applications that would otherwise be used. These software applications are then either replaced by an application within the ERP software, or are still used but under the control of the ERP software. While this can provide consistent results, it is an extremely expensive solution to adopt and typically requires major modification of workflows to adapt to the capabilities and requirements of the ERP software.
Another approach is not to use an ERP system but to use a specific workflow language, such as BPEL, for defining workflows. Such languages are typically written for use in particular contexts—for BPEL, for use in the web services model—and are devised for modelling of business and abstract processes rather than for effective interaction with other applications. Consequently, workflow languages require skilled programmer input and typically can make only limited use of the full capabilities of applications with which they interact, as the ability to use these capabilities needs to be built into the language itself.
Another approach to automation of a workflow is to require consistent input and output formats from all software used in the workflow. This may be done, for example, by requiring use of XML for output from and input to any applications interacting with the workflow application. This is also problematic, as it may prevent the use of many applications or require specialist programming to adapt their inputs and outputs—it will also require relatively good programming skills to develop any new element of the workflow.
It would be desirable to be in a position to develop new elements of a workflow without great programming skill, and to be able to use the full capabilities of a wide range of software applications adapted for specific purposes, all without the need to operate within the constraints of a complex (and expensive) enterprise resource management application.